Nonvolatile memory is computer memory capable of retaining the stored information even when unpowered. Non-volatile memory may be used for secondary storage or long-term persistent storage, for example, in addition to volatile memory. Nonvolatile memory can be permanently integrated into computer systems (e.g., solid state hard drives) or it can take the form of removable and easily transportable memory cards (e.g., Universal Serial Bus flash drives). Nonvolatile memory is becoming more popular because of its small size and high density, low power consumption, fast read and write rates, data retention, and other characteristics.
Flash memory is a common type of nonvolatile memory because of its high density and low fabrication costs. Flash memory is a transistor-based memory device that uses multiple gates per transistor and quantum tunneling for storing the information on its memory device. Flash memory uses a block-access architecture that can result in long access, erase, and write times. Flash memory also suffers from low endurance, high power consumption, and scaling limitations.
The constantly increasing speed of electronic devices and storage demand drive new requirements for nonvolatile memory. For example, nonvolatile memory is expected to replace hard drives in many new computer systems. However, transistor-based flash memory is often inadequate to meet the requirements for nonvolatile memory. New types of memory, such as resistive random access memory (ReRAM), are being developed to meet these demands and requirements.